const formatTime = date => {
	const year = date.getFullYear()
	const month = date.getMonth() + 1
	const day = date.getDate()
	const hour = date.getHours()
	const minute = date.getMinutes()
	const second = date.getSeconds()

	return `${year}年${month}月${day}日 ${[hour, minute, second].map(formatNumber).join(':')}`
}


/** 
 * 时间戳转化为年 月 日 时 分 秒 
 * number: 传入时间戳 
 * format：返回格式，支持自定义，但参数必须与formateArr里保持一致 
 */
function formatTimeTwo(number, format) {

	var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
	var returnArr = [];

	var date = new Date(number * 1000);
	returnArr.push(date.getFullYear());
	returnArr.push(formatNumber(date.getMonth() + 1));
	returnArr.push(formatNumber(date.getDate()));

	returnArr.push(formatNumber(date.getHours()));
	returnArr.push(formatNumber(date.getMinutes()));
	returnArr.push(formatNumber(date.getSeconds()));

	for (var i in returnArr) {
		format = format.replace(formateArr[i], returnArr[i]);
	}
	return format;
}

function formatStoM(seconds) {
	var min = Math.floor(seconds / 60),
		second = seconds % 60,
		hour, newMin, time;

	if (min > 60) {
		hour = Math.floor(min / 60);
		newMin = min % 60;
	}

	if (second < 10) {
		second = '0' + second;
	}
	if (min < 10) {
		min = '0' + min;
	}

	return time = hour ? (hour + ':' + newMin + ':' + second) : (min + ':' + second);
}

const formatNumber = n => {
	n = n.toString()
	return n[1] ? n : `0${n}`
}

module.exports = {
	formatTime,
	formatTimeTwo,
	formatStoM
}
